<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .ht{
            text-align: center;
            color: cadetblue;
            font-family: 幼圆;
        }
        .tab{
            width: 500px;
            border: 5px solid cadetblue;
            margin: 0px auto;
            border-radius: 5px;
            font-family: 幼圆;
        }
        .ltr td{
            border: 1px solid  powderblue;

        }
        .ipt{
            border: 0px;
            width: 50%;

        }
        .btn1{
            border: 2px solid powderblue;
            border-radius: 4px;
            width:60px;
            background-color: antiquewhite;

        }
        #usernameMsg , #userPwdMsg {
            color: rgb(230, 87, 51);
        }

        .buttonContainer{
            text-align: center;
        }
    </style>
    <script>
        //检验用户名要求
        function checkUsername(){ 
            var usernameInput = document.getElementById("usernameInput"); //获取用户名输入框元素
            var usernameMsg = document.getElementById("usernameMsg"); //获取用户名错误信息元素
            var username = usernameInput.value; //获取用户名输入框的值
            var usernameRegex = /^[a-zA-Z0-9_]{3,16}$/; //定义用户名的正则表达式

            if(usernameRegex.test(username)){ //如果用户名符合正则表达式
                usernameMsg.innerHTML = "用户名格式正确"; //设置错误信息为正确
                usernameMsg.style.color = "green"; //设置错误信息颜色为绿色
                return true; //返回true表示用户名格式正确
            }else{ //如果用户名不符合正则表达式
                usernameMsg.innerHTML = "用户名格式不正确"; //设置错误信息为错误
                usernameMsg.style.color = "red"; //设置错误信息颜色为红色
                return false; //返回false表示用户名格式不正确
            }
        }
        //检验密码要求
        function checkUserPwd(){
            var userPwdInput = document.getElementById("userPwdInput"); //获取密码输入框元素
            var userPwdMsg = document.getElementById("userPwdMsg"); //获取密码错误信息元素
            var userPwd = userPwdInput.value; //获取密码输入框的值
            var userPwdRegex = /^[a-zA-Z0-9_]{3,16}$/;

            if(userPwdRegex.test(userPwd)){ //如果密码符合正则表达式
                userPwdMsg.innerHTML = "密码格式正确"; //设置错误信息为正确
                userPwdMsg.style.color = "green"; //设置错误信息颜色为绿色
                return true; //返回true表示密码格式正确
            }else{ //如果密码不符合正则表达式
                userPwdMsg.innerHTML = "密码格式不正确"; //设置错误信息为错误
                userPwdMsg.style.color = "red"; //设置错误信息颜色为红色
                return false; //返回false表示密码格式不正确
            }  
        }
    </script>
    
</head>
<body>
    <h1 class="ht">欢迎使用日程管理系统</h1>
    <h3 class="ht">请登录</h3>
    <form method="post" action="/user/login" onsubmit="return checkForm()">
        <table class="tab" cellspacing="0px">
            <tr class="ltr">
                <td>请输入账号</td>
                <td>
                    <!-- onblur作用：当输入框失去焦点时，触发onblur事件，执行checkUsername()方法
                    也就是说，输入框输入完后，点击其他地方，会触发onblur事件，执行checkUsername()方法 
                    -->
                    <input class="ipt" type="text" id="usernameInput" name="username" onblur="checkUsername()">
                    <span id="usernameMsg"></span>  <!-- 用于显示错误消息 -->
                </td>
            </tr>
            <tr class="ltr">
                <td>请输入密码</td>
                <td>
                    <input class="ipt" type="password" id="userPwdInput"  name="userPwd" onblur="checkUserPwd()">
                    <span id="userPwdMsg"></span>  <!-- 用于显示错误消息 -->
                </td>
            </tr>
            <tr class="ltr">
                <td colspan="2" class="buttonContainer">
                    <input class="btn1" type="submit" value="登录">
                    <input class="btn1" type="reset" value="重置">
                    <button class="btn1"><a href="regist.html">去注册</a></button>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>